package com.qixing.my.views;

import java.lang.reflect.Field;

import com.example.qixingtianxia.R;

import android.content.Context;
import android.util.AttributeSet;
import android.util.Log;
import android.widget.DatePicker;
import android.widget.NumberPicker;

public class CustomDatePicker extends DatePicker {

	 private static final String TAG = "CustomDatePicker";
	public CustomDatePicker(Context context, AttributeSet attrs) {
		super(context, attrs);
		 Class<?> idClass = null;
	        Class<?> numberPickerClass = null;
	        Field selectionDividerField = null;
	        Field monthField = null;
	        Field dayField = null;
	        Field yearField = null;
	        NumberPicker monthNumberPicker = null;
	        NumberPicker dayNumberPicker = null;
	        NumberPicker yearNumberPicker = null;

	        try
	        {
	            // Create an instance of the id class
	            idClass = Class.forName("com.android.internal.R$id");

	            // Get the fields that store the resource IDs for the month, day and year NumberPickers
	            monthField = idClass.getField("month");
	            dayField = idClass.getField("day");
	            yearField = idClass.getField("year");

	            // Use the resource IDs to get references to the month, day and year NumberPickers
	            monthNumberPicker = (NumberPicker) findViewById(monthField.getInt(null));
	            dayNumberPicker = (NumberPicker) findViewById(dayField.getInt(null));
	            yearNumberPicker = (NumberPicker) findViewById(yearField.getInt(null));

	            numberPickerClass = Class.forName("android.widget.NumberPicker");

	            // Set the value of the mSelectionDivider field in the month, day and year NumberPickers
	            // to refer to our custom drawables
	            selectionDividerField = numberPickerClass.getDeclaredField("mSelectionDivider");
	            selectionDividerField.setAccessible(true);
	            selectionDividerField.set(monthNumberPicker, getResources().getDrawable(R.color.sub_color));
	            selectionDividerField.set(dayNumberPicker, getResources().getDrawable(R.color.sub_color));
	            selectionDividerField.set(yearNumberPicker, getResources().getDrawable(R.color.sub_color));
	        }
	        catch (ClassNotFoundException e)
	        {
	            Log.e(TAG, "ClassNotFoundException in CustomDatePicker", e);
	        }
	        catch (NoSuchFieldException e)
	        {
	            Log.e(TAG, "NoSuchFieldException in CustomDatePicker", e);
	        }
	        catch (IllegalAccessException e)
	        {
	            Log.e(TAG, "IllegalAccessException in CustomDatePicker", e);
	        }
	        catch (IllegalArgumentException e)
	        {
	            Log.e(TAG, "IllegalArgumentException in CustomDatePicker", e);
	        }
	}

}
